cmake_minimum_required(VERSION 3.14)

project(qml-hello LANGUAGES CXX VERSION 0.0.1)

set(CMAKE_FIND_PACKAGE_SORT_DIRECTION ASC)

# 1. 引入 Spark 构建体系
include(cmake/SparkWithGit.cmake)
spark_initialize_modules()

# 2. 使用 SparkFindQt5 提供的模块扩展能力
spark_add_links_qt(Quick)

# 3. 构建 SparkUI 名称的模块(目标)
spark_add_qml_module_path(SparkUI
    src/SparkUI.h
    src/SparkUI.cpp

    src/sparkuiplugin.h
    src/sparkuiplugin.cpp
    
    src/background.h
    src/background.cpp

    src/magicfish.cpp 
    src/magicfish.h 
    src/magicpool.cpp 
    src/magicpool.h

    src/components/
)
target_link_qt(SparkUI)
target_link_qt_quick(SparkUI)

# 4. 重定向目标的输出位置，自动形成模块结构(在当前目录下产生一个 SparkUI 目录输出 QML 结构)
set_target_properties(SparkUI
    PROPERTIES
        QMLDIR_MODULE SparkUI
        QMLDIR_CLASSNAME SparkUIPlugin
        LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/SparkUI)

# 5. 作为项目开发时，提供一个 qmlscene 的启动器
add_subdirectory(startup)
